/*
vue.config.js非jeeplus自动生成的文件 是一个配置文件 如果跟package文件在同一个目录下一样会被vue-cli自动加载
*/
const path = require('path')
// 回调函数用于让其当前写入的文件的目录变为动态的绝对目录
// __dirname 是当前文件夹的绝对路径 , __filename是当前文件的绝对路径,这个属性名是固定的
function resolve(dir) {
  return path.join(__dirname, dir)
}

module.exports = {
  // publicPath 有两种写法一个是空字符串一个是./后一种是将所有文件变为相对路径 这样在部署的时候可以任意部署到任何地方了
  publicPath: "./",
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  // 是一个函数，会接收一个基于 webpack-chain 的 ChainableConfig 实例。允许对内部的 webpack 配置进行更细粒度的修改。
  chainWebpack: (config) => {
    config.resolve.alias.set('@/', resolve('src'))
    // config.plugins.delete('prefetch')
  },
  // 当modifyVars里面写着值时候 用法是可以<style lang="less">使用该变量
  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          // 'primary-color': '#254184', // 全局主色
        },
        javascriptEnabled: true,
      }
    }
  },

  devServer: {
    // 全局启动端口号
    port: 3000,
    //前后端链接所用代理
    proxy: {
      '/api': {
        //代理地址，这里设置的地址会代替axios中设置的baseURL
        target: process.env.VUE_APP_SERVER_URL,
        // 如果接口跨域，需要进行这个参数配置
        changeOrigin: true,
        //pathRewrite: {'^/api': '/'} 重写之后url为 http://192.168.1.16:3000/xxxx
        //pathRewrite: {'^/api': '/api'} 重写之后url为 http://192.168.1.16:3000/api/xxxx
        pathRewrite: {
          '^/api': ''
        }
      },
      '/userfiles': {
        target: process.env.VUE_APP_SERVER_URL,
        changeOrigin: true,
        pathRewrite: {
          '^/userfiles': '/userfiles'
        }
      }
    }
  },
  // 是否在保存的时候使用 `eslint-loader` 进行检查。 有效的值：`ture` | `false` | `"error"`  当设置为 `"error"` 时，检查出的错误会触发编译失败。
  lintOnSave: undefined
}
